//////////////////////////////////////////////
// ShaderInstanceCustomDummySlot.h
//
//////////////////////////////////////////////

/// Defines / Macros -------------------------

#pragma once

/// Forward decl -----------------------------

namespace nkGraphics
{
	class System ;
}

/// Includes ---------------------------------

// nkGraphics
#include "ShaderInstanceCustomSlot.h"

#include "../../Dll/DllDefines.h"

// nkMemory
#include <NilkinsMemory/Containers/StringView.h>

/// Class ------------------------------------

namespace nkGraphics
{
	class DLL_GRAPHICS_EXPORT ShaderInstanceCustomDummySlot : public ShaderInstanceCustomSlot
	{
		public :
	
			// Constructor
			ShaderInstanceCustomDummySlot (System* system) noexcept ;

			// Setters
			void setTypeName (nkMemory::StringView value) ;

			// Overrides
			virtual unsigned int getDataByteSize () override ;
			virtual void fillDataBuffer (Entity* caller, void* buffer) override ;

		private :

			// Attributes
			System* _system ;
			bool _alreadyUsed ;
	} ;
}